
//  Copyright (C) 2007 Richard Uhler

//?d:throw an error object up a big chain
//?e:foo

function a(x)
{
    return b(x) + 5;
}

function b(x)
{
    return 3*x + c(x);
}

function c(x)
{
    throw new Error("foo");
}

try
{
    a(2);
    print("nothrow");
}
catch (err)
{
    print(err.message);
}

